/*
 * Copyright (c) 2016. For Intelligent Group.
 */

package com.intelligent.ispc.core.repository;

import com.intelligent.ispc.core.entity.SpcConfig;
import com.intelligent.ispc.core.repository.mybatis.MyBatisRepository;

import java.util.List;

/**
 * Created by Julia.Zhou on 2016/08/08.
 */

@MyBatisRepository
public interface SpcConfigDao {

    /**
     * Create the spc configuration item.
     *
     * @param spcConfig details
     */
    void createSpcConfig(SpcConfig spcConfig);

    /**
     * Update the spc configuration item.
     *
     * @param spcConfig details
     */
    void updateSpcConfig(SpcConfig spcConfig);

    /**
     * Delete the spc configuration item by id.
     *
     * @param id item id.
     */
    void deleteSpcConfig(Long id);

    /**
     * Find the spc configuration item by id.
     *
     * @param id item id.
     * @return SpcConfig
     */
    SpcConfig findById(Long id);

    /**
     * Find the spc configuration items.
     *
     * @return SpcConfig list
     */
    List<SpcConfig> findSpcConfigs();

    /**
     * Find the spc configuration item by id.
     *
     * @param id item id.
     * @return SpcConfig
     */
    SpcConfig findSpcConfigById(Long id);

}
